package com.tedu.review.day02;


import org.junit.Test;

public class 接口的测试类 {
    /**
     * 测试1：接口实例化
     * 实现类  实现  接口
     */
    @Test
    public void Interface1(){
    Insert insert=new Toys();
        insert.jack();  //重写      实现抽象方法
        //问题：继承抽象类  实现接口  调用抽象类重写
        //Toys toys=new Toys();
        //toys.say();
        //向下造型：强转--目的：互相调用对方的方法
        Toys toys=(Toys) insert;
        toys.say();
        //以上两行代码简写
        ((Toys) insert).say();
        //全局常量使用
        System.out.println("线长"+Insert.LINE);
    }
}

/**
 * 测试：类     抽象类      接口类      关系
 */
//class Uoo{}
//class Voo{}
//class Woo extends Uoo,Voo{} 单继承：继承一个父类
//class Woo extends Uoo{}
//class Loo extends Woo{}
//多层继承：从祖宗类开始依次继承
//abstract class Loo{}
//abstract class Zoo{}
//class Voo extends Loo,Zoo{} //单继承：继承一个抽象类
      /*  abstract class Loo{}
        abstract class Voo{}
abstract class Zoo extends Loo{}
abstract class Woo extends Zoo{} */
//抽象类与抽象类：可以多层继承
    interface Voo{}
    //interface Loo{}
    interface Zoo extends Voo{}
    interface Moo extends Zoo{}
    interface Loo extends Moo{}
//class Woo implements Voo,Zoo{}      //单实现

//抽象类
abstract class Things{
    public abstract void say();
}
//接口
interface Colors{
    //抽象方法
    public abstract void color();
}
interface Runs{
    public abstract void run();
}
